Region Merging Image Segmentation Algorithm Based on Boundary Extraction

ABSTRACT

A Region Merging image segmentation algorithm based on boundary extraction is disclosed, comprising the steps of calculating a gradient image, extracting a boundary and carrying out initial segmentation and Region Merging, wherein the initial segmentation can be omitted. In the Region Merging process, the ratio of the length of boundary extraction result lies on the adjacent edge between adjacent regions to the length of the adjacent edge is taken as the merging cost, the regions are merged according to the ascending order of the mean gradient value in the region, and a texture difference evaluation mechanism is introduced to remove the error segmentation. The algorithm solves the problems of the other current segmentation algorithms, such as over-segmentation, easy to be influenced by noise and illumination, large in computation and memory consumption, in need of a large number of samples being marked manually and the like. Besides, all regions or all categories achieve the best segmentation result on one final segmentation result. These advantageous features can reduce the computational resource consumption of subsequent tasks and improve their processing effect.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of PCT/CN2019/075051 filed on Feb. 14, 2019, the content of which is herein incorporated by reference in its entirety and made a part of this specification.

TECHNICAL FIELD

The invention relates to an image segmentation algorithm in computer vision, belonging to one of Region Merging image segmentation algorithms. The algorithm supports the segmentation of digital images, optical satellite images, SAR images, various medical images and the like.

BACKGROUND ART

The accurately segmented image has great value and is beneficial to improving the accuracy of algorithms such as image mosaic, three-dimensional reconstruction, target recognition, image classification and the like. At present, commonly used image segmentation algorithms include Region Merging, Clustering, Watershed, Active Contour Model (ACM), LevelSet, Region Growing, GraphCut or GrabCut, and Full Convolutional Neural Network (FCNN).

The granularity of the segmentation result of the Watershed segmentation algorithm is too fine, which is greatly affected by noise. All Clustering algorithms are seriously affected by methods for measuring pixel differences, and some Clustering algorithms have huge memory and computing power consuming. The best use of ACM, LevelSet and GraphCut is to interactively extract a single foreground object on an image. The FCNN needs a large number of samples to be marked manually, takes days to months for training in addition, and cannot be used for unmarked categories.

Due to the lack of good texture descriptors, the current Region Merging image segmentation mainly relies on the statistical differences of pixel values and shape feature for merging. Due to uneven illumination, shadows, noise and other reasons, many error segmentations are caused and segmentation results are unstable.

In addition, each region on an image has strong locality characteristics, and obviously the best effect cannot be obtained when all regions are segmented by using the same standard. Therefore, many algorithms use multiple criteria to obtain hierarchical segmentation results, and different categories or different regions on the image achieve the best segmentation effect at different levels. This defect can lead to the inconvenience of using segmentation results because some method is needed to select levels or to synthesize the results of each level.

SUMMARY OF THE INVENTION

In order to solve the problems in the background of the invention, the invention provides a Region Merging image segmentation algorithm based on boundary extraction, which takes as merging cost the ratio of the length of boundary extraction result lies on the adjacent edge between adjacent regions to the length of the adjacent edge and merges the region in ascending order of mean gradient value in the region. The initial regions merged by the algorithm can come from the result of other segmentation algorithms or each pixel can be taken as one region.

Beneficial effects: the invention avoids various problems of the above-mentioned segmentation algorithms, such as over-segmentation, easy to be influenced by noise and illumination change, large in computation and memory consumption, in need of a large number of samples being marked manually and the like. In particular, compared with the Region Merging image segmentation algorithm which depends on the statistical difference of the pixel values and the shape feature, the algorithm disclosed by the invention does not rely on shape feature and keeps objects' natural boundary from the boundary extraction result, so that the segmentation result not being vulnerable to slight pixel value change caused by illumination change and others.

In addition, the “hysteresis” of the boundary extraction algorithm and the Region Merging order of the algorithm are equivalent to adopting different segmentation standards in different regions or for different categories of the image, such that all regions or all categories of the image achieve the best segmentation effect on one final segmentation result.

DETAILED DESCRIPTION OF THE INVENTION

The technical scheme of the invention is as follows.

Firstly, a gradient image (difference map) of an image to be segmented is calculated, and algorithms for calculating the gradient image include, but are not limited to, sobel, scharr, prewitt, Roberts, laplace, de-texture.

Secondly, extracting a boundary graph of the image to be segmented, wherein the boundary extraction algorithm comprises but is not limited to Canny, Deriche, Marr Hildreth.

Thirdly, the image to be segmented is initially segmented, and segmentation algorithms include, but are not limited to, Watershed, Clustering, Region Growing. This step may also be omitted, and each pixel may be regarded as one region when initial segmentation is not conducted, and the region hereinafter may also refer to a pixel.

Fourthly, establishing adjacent topological relations of the regions and merging the regions. The Region Merging mechanism is the key of the algorithm, which takes as merging cost the ratio of the length of boundary extraction result lies on the adjacent edge between adjacent regions to the length of the adjacent edge and merges the region in ascending order of mean gradient value in the region. This is particularly described below.

The calculated gradient image is denoted as I_(g), and the merging order metric of the region R_(i) is given by:

MO(R)=avg(I _(g)(p|p∈I _(g) ∩R _(i)))

Where I_(g)(p) represents the gradient value at p on the gradient image I_(g), and MO(R_(i)) means the average gradient value in the region. Sorting all regions by ascending order according to MO(R_(i)) during merging, and iterating over the sorted regions; for some adjacent region R_(i) of region R_(i), if MO(R_(i))≤MO(R_(i)), then R_(i) can be merged to R_(i) according to the merging cost rule.

Let the extracted boundary graph be denoted I_(g) and the adjacent edge between regions R_(i) and R_(j) be denoted E_(ij), then the merging cost C_(ij) of R_(i) and R_(j) is:

$C_{ij} = \frac{{Len}\left( {E_{ij}\bigcap I_{e}} \right)}{{Len}\left( E_{ij} \right)}$

where Len(•) is a function that measures the length, and C_(ij) means a portion of the adjacent edge of regions R_(i) and R_(j) that lies on I_(e) (the extracted boundary), which is the ratio of the length of the part of E_(ij) that lies on I_(R) to the length of E_(ij).

Giving a threshold value T_(e) of the merging cost C_(ij), and when C_(ij)>T_(e), the regions R_(i) and R_(j) can not be merged; when C_(ij)≤T_(e), a priority rule needs to be adopted because there is more than one adjacent region of the region R_(i). For a certain adjacent region R_(i) of R_(i), it merges with R_(i) in ascending order of MO(R_(j)), i.e. the lower the MO(R_(j)) value, the higher the priority.

After the regions are merged, adjacent edges grow while boundary extraction results do not change; therefore, a new mergeable region may be created after the merging. Therefore, the complete steps of the Region Merging mechanism are:

1. sorting all regions according to MO(R_(i)) by ascending order; 2. iterate over the sorted regions; 2.1. iterate over the adjacent region of the current region R₁; 2.1.1 for a certain adjacent region R₁ of the region R₁, if MO(R₁)≤MO(R_(j)) and C_(ij)≤T_(c), remembering the R_(i) that has smallest MO(R_(j)); 2.2 removing the boundary between R_(j) and the adjacent region R_(j) that has smallest MO(R_(j)); 3. if there being boundaries been broken, back to step 1; 4. if there being no boundary been broken, go to end.

Because the boundary extraction algorithm has various defects at present, the extracted boundary have breakings, so that a certain degree of error segmentation still exists by only adopting the above logic. Therefore, a texture difference evaluation mechanism is added to the algorithm to remove error segmentation, as described below.

For a region R_(i), its strength index RSI(R_(i)) is defined as:

${{RSI}\left( R_{i} \right)} = \frac{\sum_{C_{ij} > T_{c}}C_{ij}}{\sum_{C_{ji} > T_{c}}1}$

So, strength index of R_(i) is the average merging cost of a R_(i)'s boundary with the merging cost greater than T_(e) . . . .

A threshold value T_(rsi) of the region strength index is introduced. For a certain region R_(i), if RSI(R_(i))>T_(rsi), the region is a strong region, otherwise, the region is a weak region. For R_(i) and its adjacent region R_(j), the texture difference thereof is recorded as InD_(ij), and a threshold T_(ind) is introduced. In the process of merging R_(i) into its adjacent region, if R_(j) is a strong region, only when InD_(ij)≤T_(ind) is also satisfied, can R_(i) be merged to R_(j).

Unlike T_(c) and T_(rsi), T_(ind) does not need to be specified manually, but is computed automatically during a merging. Setting the initial value of the T_(ind) to be 0, and updating the T_(ind) in the process of merging, wherein the formula is as follows:

$T_{ind} = {\max \left( {T_{ind},\frac{\sum_{merged}{InD}_{ij}}{\sum_{merged}1}} \right)}$

T_(ind) is updated to the greater one of itself and the mean texture difference value of all merged regions.

The texture difference (InD_(ij)) can be evaluated in different ways, such as the difference of the mean pixel value in the region, the difference of the median pixel value in the region, the difference of the norm of a vector composed of the mean value and standard deviation of the pixel value in the region, etc. The texture difference (InD_(ij)) can be calculated in different ways, and the difference of InD_(ij) calculation methods do not constitute the difference with the algorithm.

Finally, the Region Merging step combining a texture difference evaluation mechanism should be as follows:

1. set T_(ind) to 0;

2. sort all regions according to MO(R_(i)) by ascending order; 3. set C_(ind) and Σ_(ind) to 0; 4. iterate over the sorted regions; 4.1. iterate over the adjacent region of the current region R_(i); 4.1.1 for a region R_(j) adjacent to the region R_(i), if MO(R_(i))≤MO(R_(i)) and C_(ij)≤T_(c); 4.1.1.1 if RSI(R_(i))>T_(rsi) and InD_(ij)≤T_(ind), remember the adjacent region R_(j) that has the smallest InD_(ij); 4.1.1.2 if RSI(R_(i))≤T_(rsi), remember the adjacent region R_(j) that has the smallest InD_(ij); 4.2 remove the boundary between R_(i) and its adjacent region R_(j) that their InD_(ij) is smallest; 4.3 let C_(ind)+=1, Σ_(ind)+=InD_(ij), and

${T_{ind} = {\max \left( {T_{ind},\frac{z_{ind}}{C_{ind}}} \right)}};$

5. If there were boundaries been broken, back to step 2; 6. If there were no boundaries been broken, go to end.

According to the algorithm, it keeps objects' natural boundary from the boundary extraction result so that the obtained segmentation result is more accurate and the segmentation result is more stable. In addition, all regions or all categories achieve the best segmentation result on one final segmentation result. These advantages can reduce the computational resource consumption of subsequent tasks such as image mosaic, three-dimensional reconstruction, target recognition and image spot classification, and improve the processing effect.

The following are embodiments of the invention. The present invention is not limited to the following preferred embodiments, and any person skilled in the art should know the structural changes made under the inspiration of the present invention and all technical solutions having the same or similar technical solutions of the present invention fall within the scope of the present invention.

Firstly, a sobel gradient of the image to be segmented is calculated.

Secondly, a boundary is extracted by applying a Canny algorithm on the sobel gradient.

Thirdly, a Watershed algorithm runs on a sobel gradient to finish initial segmentation.

Fourthly, the adjacent topological relation of the initial segmentation result is established, Region Merging is performed according to the Region Merging mechanism with texture difference measurement that provided by this invention, and the difference of the mean pixel value in the region is used as the texture difference in the merging process. 

1. A Region Merging image segmentation algorithm based on boundary extraction, characterized in that steps of the algorithm comprise calculating a gradient image, extracting a boundary, carrying out initial segmentation and Region Merging, wherein the initial segmentation can be omitted; and the Region Merging comprises steps of: (1) sorting all regions according to MO(R_(j)) by ascending order; (2) iterate over the sorted regions; (2.1) iterate over an adjacent region of a current region R_(i); (2.1.1) for a certain adjacent region R_(j) of the region R_(i), if MO(R_(j))≤MO(R_(j)) and C_(ij)≤T_(c), remembering the R_(j) that has smallest MO(R_(j)); (2.2) removing the boundary between R_(j) and the adjacent region R_(j) that has smallest MO(R_(j)); (3) if there being boundaries been broken, back to step 1; (4) if there being no boundary been broken, go to end.
 2. The Region Merging image segmentation algorithm based on boundary extraction according to claim 1, characterized in that a texture difference evaluation mechanism can also be added in a Region Merging rule to remove error segmentation, and a Region Merging step after the texture evaluation mechanism is added as follows: (1) set τ_(ind) to 0; (2) sort all regions according to MO(R_(i)) by ascending order; (3) set C_(ind) and Σ_(ind) to 0; (4) iterate over the sorted regions; (4.1) iterate over an adjacent region of the current region R_(i); (4.1.1) for a region R_(j) adjacent to the region R_(i), if NO(R_(j))≤MO(R_(i)) and C_(ij)≤T_(c); (4.1.1.1) if RSI(R_(i))>T_(rsi) and InD_(ij)≤T_(ind), remember the adjacent region R_(j) that has the smallest InD_(ij); (4.1.1.2) if RSI(R_(i))≤T_(rsi), remember the adjacent region R_(j) that has the smallest InD_(ij); (4.2) remove the boundary between R_(i) and its adjacent region R_(j) that their lea InD_(ij) is smallest; (4.3) let C_(ind)+=1, Σ_(ind)+=InD_(ij), and ${T_{ind} = {\max \left( {T_{ind},\frac{z_{ind}}{C_{ind}}} \right)}};$ (5) If there were boundaries been broken, back to step 2; (6) If there were no boundaries been broken, go to end.
 3. The Region Merging image segmentation algorithm based on boundary extraction according to claim 1, characterized in that the merging is carried out according to an ascending order of a gradient mean value in a region, wherein the formula of a region merging order metric MO(R_(i)) is as follows: MO(R _(i))=avg(I _(g)(p|p∈I _(g) ∩R _(i))); and a merging cost C_(ij) of a region is a length ratio of a part, belonging to a boundary extraction result, of an immediately adjacent edge of an immediately adjacent region, and the formula is as follows: $C_{ij} = {\frac{{Len}\left( {E_{ij}\bigcap I_{e}} \right)}{{Len}\left( E_{ij} \right)}.}$
 4. The Region Merging image segmentation algorithm based on boundary extraction according to claim 2, characterized in that a region intensity index RSI(R_(i)) is a mean value of the merging cost C_(ij), larger than a threshold value T_(c), of all the immediately adjacent edges of the region R_(i), and the formula is as follows: ${{RSI}\left( R_{i} \right)} = {\frac{\sum_{C_{ij} > T_{c}}C_{ij}}{\sum_{C_{ji} > T_{c}}1}.}$
 5. The Region Merging image segmentation algorithm based on boundary extraction according to claim 2, characterized in that the merging is carried out according to an ascending order of a gradient mean value in a region, wherein the formula of a region merging order metric MO(R_(i)) is as follows: MO(R _(i))=avg(I _(g)(p|p∈I _(g) ∩R _(i))); and a merging cost C_(ij) of a region is a length ratio of a part, belonging to a boundary extraction result, of an immediately adjacent edge of an immediately adjacent region, and the formula is as follows: $C_{ij} = {\frac{{Len}\left( {E_{ij}\bigcap I_{e}} \right)}{{Len}\left( E_{ij} \right)}.}$ 